Why I quit WordPress

Published by Nighten on

Since the very beginning of this site, so around 2017, I've used WordPress to manage my blog. It came preinstalled actually, and I've been really happy with it overall. But I finally decided to switch. I want to explain why, and what custom and flawed solution I created instead.

What is so great about WordPress in the first place

Back when I first bought the domain, I was just getting started with coding, and I had absolutely no interest in learning web programming.

WordPress is a really great blog engine, and it's fantastic that a tool this popular is free and open source. And in contrast to other projects that share these qualities, it's super easy to use. You can build a beautiful and robust blog for years without worrying about opening a code editor; which mean that more people can have their own website while still having a lot of freedom.

In addition to all of it, it also has really great SEO (search engine optimization) out of the box, which is nice.

But as you probably expect, there are lot of reasons that made me decide to finally say goodbye.

What made me switch

Just like game engine and other framework, as long as you stay in the typical use case you'll not have any trouble using WordPress. In the last few years, I learned a ton about the web and PHP, especially thanks to PUNK QUEEN, a little browser game I made. This project made me realize how nice it is to have full control over the behavior of a website, that the web can actually be fun, and how much cool things can be build with very light code.

Abstraction takes away control, that's inherently true and expected. WP don't want you to hurt yourself so it put safeguard around; that's fair, but start getting absurd after a while: Why do you prevent me to upload a large file if I can just put the file on the folder? Why should I use your editor and not the one I choose?

Independence isn't really possible on WordPress. You have to update regularly for the security patches, but they sometime introduce or remove features, just like the removal of the classic editor in favor of Gutenberg. And if you want more functionalities, you have first to understand a very complex machine who does very complex things; and the vast majority of users end up being dependent on a few company who create plugin, without really understanding what they do. This concern me, especially when supply chain attacks come into consideration.

I'd like to note that I don't really mind the slowness of WordPress that a lot of people complain about. It's really fine if you don't go crazy on plugin, and it's fair that a full framework perform less than a static webpage. However, while researching this topic, I came about so much listicle in the style of "20 plugins to speed up your WP" that I would love to print some, and hang them right next to "20 things to buy on amazon as a minimalist"*. It really summarize a lot of my feeling toward WordPress.

(also, to finish on the negative: why WP are you storing the full article on the database? seriously? i pay for storage you know)

What the new thing look like

Some details have changed since I wrote this, 
mainly the switch to a static website.
I'll maybe write a follow up article one day
but the general idea stay the same.

After multiple iteration and failed attempt, I came up with a satisfyingly and extremely simple blog solution: I just need to drop a file into a folder, and it's added to my homepage and my RSS feed. That's it. It can be a simple .html or a complex .php script, or even an audio or video file. If I want to start a podcast someday I'd just have to drag and drop a mp3 and that's it. No need for a database, which mean that I'll have more space to do other project on it (the Queen will return one day). Overall, this solution is much more simpler, cleaner; It's a base that I understand and can build on.

My specific code is not suitable for most people, it is not a perfect solution. By saying this, I just want to encourage you to build the things that work for you. If you're willing to learn, it's possible, and way better than waiting for a company or a foundation to fit your particular needs.

Challenges ahead

Of course things aren't perfect, and I see potential flaws in my system that could come bite me in the future.

For example, it does a lot of request to the file system. I have no ideas if it'll be really a problem compared to a database; but that's something I can improve in the future, for example by having a static version of the RSS feed instead of a dynamically generated one.

I made the strange choice of depending on the file modification date for managing sorting; it's the kind of hacky-punky decision that I love, but we'll see if I can manage it in the long run. I also don't have templates! I know how to make one, it's really not complicated, I just wanted to keep the code simple and flexible. Adding a header and a footer automatically is neat, but I also want the flexibility to not have them if I want to. There is also no tags or any article sorting yet. That's the thing with custom solution, if you want something you got to make it yourself.

I wonder how a simpler site will be ranked by Google if I stick to basic good practices; it's not my priority of course (does this look like a commercial site to you?), but it'll be interesting to know.

There is always tradeoff, especially with tech related choice. It's important to be fully aware of them, and not just blindly fall in love with an idea. I hope that clarifying these tradeoff will remind future me of the reason I wanted to go for it anyway.

Conclusion

You should use WordPress, at least in most cases.

You want a blog? And be effective with your time? Perfect, you have your solution. Just make sure you control the server that is hosting you, and you'll have at least the liberty to move if necessary.

If, however, you want a bit more than a blog, something that really suit you, and that you're willing to learn, I think it can be fun (and maybe worth it) to build your own. Just try something on your own machine for a while, and see if it stick. Maybe plain html, or something close, is all you need after all.

You will be able to find the code of this website here,
and can be used as a starting point if you're curious.

If you have any question or comment about the subject, you can send me a email ! :)

* I was joking at first but it turn out there are article with almost this exact title. Love it 👌